// 先引入http模块
const http = require('http')


//http模块提供了一个createServer方法创建服务器，该方法会返回一个服务器对象，该方法接收一个回调函数作为参数，回调函数中有两个参数req和res，req是指请求对象，res是响应对象。res和req都有很多方法，后面一一讲解。
const server = http.createServer((req,res)=>{
    // req 接受浏览器传来的参数
    // res 返回渲染的内容

    // res.writeHead()负责对于响应头进行设置，第一个参数为状态码，通常设置为200.第二个参数为对象，对象里的键值对就是你要设置的属性以及值。下面这种设置就是让浏览器可以解析res.write中的html语句，并且支持utf8编码也就是支持中文
    res.writeHead(200,{'Content-Type':'text/html;charset=utf8'})

    // res.write(content)方法用于向请求相应数据，可以多次调用
    res.write('welcome to your server created by nodejs')

    // write也可以解析html语句，不过要注意设置writeHead。
    res.write(`
        <html>
            <div style="font-size:90px;">我也能解析展示html语句</div>
        </html>
    `)

    // res.end()代表着响应内容已经完毕了，这个是必须调用的，否则服务器不知道是否还有res.write另外res.end()也是可以放参数的，放参数的效果和res.write()一个意思
    res.end()

    // 在res.end()之后再去写res.write这类代码就是没有意义的了，会报错。原因你自己想吧
})

// 我们前面只是把服务器配置好了，还没有启动，我们需要调用服务器中的listen方法启动服务器，listen方法接受两个参数，第一个是端口号，第二个是回调函数，回调函数会在启动成功后调用
server.listen(9000,()=>{
    console.log('The server is started successfully.')
})

